home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 38
/
Amiga Format CD38 (1999-03-15)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-04].iso
/
-seriously_amiga-
/
programming
/
other
/
cop
/
cop.readme
< prev
next >
Wrap
Text File
|
1999-01-25
|
10KB
|
243 lines
Short: Low Level Debugger
Uploader: thor@einstein.math.tu-berlin.de (Thomas Richter)
Author: thor@einstein.math.tu-berlin.de (Thomas Richter)
Type: dev/debug
Version: 1.69
Requires: An Amiga or even better two. The OS version doesn't matter.
*****************************************************************************
** **
** ___________ **
** \ */ **
** /----------- ####### ####### ######## **
** | ^ | ## ## ## ## ## ## **
** | _\ ## ## ## ## ## Version 1.69 **
** | | ## ## ## ######## **
** | --| ## ## ## ## **
** +-----/ ## ## ## ## ## **
** | | ####### ####### ## (c) 1993-1998 THOR-Software **
** **
** **
** A Low Level Debugger for all Amiga Systems **
** **
*****************************************************************************
by
_______ _____ _____ __ _
/ / / / / / / \/_/ //_/_
/ /____/ / / /____/ ___ / ____// / _ __
/ / / / / / \ / /|/ / / / /_/ / /\_/_/
/ / / /____/ / / _/__/_/ /__/|_/_/_/ /_/_/ /_
/
_____________________________________________________________________________
About COP
COP is a low level debugger for all amiga systems. "Low Level" means it
directly plays with the hardware, does not have GUI, but is unbeatable
stable. Its main purpose is to debug programs not debugable with the usual
"source level" debugger, like hardware device drivers, DOS handlers in action
and much more. It supports debugging by the serial port, thru a standard
tty terminal (also a COP type 5 terminal is better. A terminal program
for amigas is included), and a build-in terminal emulation in case no
second computer is available.
In case you want to use COP, make sure:
-that you really want it. COP is not easy to use!
-that you know assembly language. It won't work without!
-that you have a lot of good will!
EMail: thor@einstein.math.tu-berlin.de
WWW: http://www.math.tu-berlin.de/~thor/thor/index.html
By the way: You should read the documentation first (before trying to get
COP running)!
This is even more important if you own a '060 or '040 system. Special hints
can be found at the end of the COP.doc file.
_____________________________________________________________________________
Changes made in 1.69:
- Fixed the disassembly of some 040 specific instructions, cpushp and others.
- Fixed the startup code.
- Fixed the documentation, COP was never Enforcer compatible when run on
a 040 and 060, unfortunately. It is compatible to "MuForce", which does
the same.
- The bus error handler tries now to complete missing writebacks of the 040
processor.
_____________________________________________________________________________
Changes made in 1.68:
- Added 040 and 060 FPU instructions for single and double precision in the
disassembler.
- Added PLPAR/W instructions.
- Overflow handling in the expression evaluation was buggy.
- MMU table lookup for 68060 was buggy, worked only for complete 4K tables.
- MMU management included, the MMU registers are now written back.
(Let's hope this works for the 040 and 060, I haven't tested this)
- The MMU URP/SRP registers can now be set by the user. However, be careful
with it, this may easely trash the system.
- FPU emulator traps haven't been filtered out for the 040.
_____________________________________________________________________________
Changes made in 1.67:
- Due to a silly mistake, the Enforcer was disabled completely for the
68030 processor.... Argh!
_____________________________________________________________________________
Changes made in 1.66:
- Fixed a horror bug in the MMU control section. After disabling the MMU,
I forgot to flush the ATC and the cache of the 68030. Since the cache
of the '020 and the '030 is BEHIND the MMU, it could still contain
addresses marked as INVALID and might create an enforcer hit on some
systems. This happens most likely in systems with the supervisor stack
in chip ram. Fixed.
- General cleanup of the vector base register installation routine.
- Included the SSPToFast program which *should* be run in the startup
sequence for systems without autoconfig fast ram. Moving the SSP to
fast ram will increase the performance of the system.
This release is mainly to due to Jörg Riemer. Thanks for letting me debug
COP on his A1200, and thanks for the hospitality.
Changes made in 1.65:
- Fixed a bug in the 68851 detection routine. This thing is now getting
"metamagical", too. As the rest of the kernal code...
Thanks, Dennis, for letting me know.
- COP RESTOREVBR restores now, too ,the Alert entry that might have been
reset by the Enforcer.
- Removed a bug from the symbol hunk parser that didn't respect HUNK_DEBUGs
as it should.
_____________________________________________________________________________
Changes made in 1.64:
- Fixed another set of bugs in the disassembler. The "pmove bad/bac" opcoded
did not work.
- The disassembler knows now the "fnop" command.
- The register saveback routine was faulty for the '020 - it tried to save
the non-existing tt0,tt1 registers.
_____________________________________________________________________________
Changes made in 1.63:
- Fixed a bug in the disassembler. The 0x7100 opcode was not detected as
illegal.
- Fixed memory addressing bugs in the disassembler. Did not check for
validity of addresses.
- Fixed an addressing bug in the label manager. Did not check whether an
address is valid or not.
- COP does no longer run the ROM code for the '060 in case no Enforcer/060
library is installed.
- Added support code for the 68851 PMMU coprocessor. Should be detected
correctly now.
_____________________________________________________________________________
Changes made in 1.62:
- Neither the NOMMU nor the NOEMU command line options worked in 1.61.
Sigh.
- Added MMU and EMU keywords for symmetry.
- Fixed just another bug in the '060 support code, thanks to Mark for
the hints and the testing. (I guess we're at 4% now).
- Added the MMU support for MOVE, FIND and FILL commands.
- Improved FIND command, displays the found instructions or bytes.
- Made RESTOREVBR a bit smarter.
- Updated the included DDT file to contain '060 specific gurus. Thanks,
Mark!
____________________________________________________________________________
Changes made in 1.61:
- Fixed a lot of bugs in the '060 support code. Thus, the chance that
this release operates properly on a '060 has about doubled (from 1% to
2%, to be precise...).
- Added NOEMU command line switch to bypass emulator traps.
- Added proper support for the '060 '040 MMU and cache.
- Debugged the AbsExecBase move.l emulator for the '060. Might actually work
by now, but is untested.
- Changed some details in MMU handling.
- Changed minor details for COP capturing its own bugs.
- Added another function to the label manager, showing the label given an
address - LABL.F command.
- Fixed a bug in the memory manager that did not handle non-writable memory
in the correct way.
- Fixed a bug in the set-breakpoint logic.
- Enhanced the stack traceback with the new label manager. It tries to find
out the label names.
_____________________________________________________________________________
Changes made in 1.60:
- Removed bugs in the breakpoint logic.
- Added SegTracker support for the REGS.G and (new) SEGM commands.
- Updated MMU/Enforcer support since I finally bought a real 68030.
- Added the NOMMU command line switch to disable the MMU bypass.
- Added the ability to pre-compile the DDT files for faster parsing
with the "PRE" command line option.
- Updated the Terminal program a bit.
_____________________________________________________________________________
Changes made in 1.59:
- Removed a bug in the expression evaluator that made the indirection
operator [] unuseable.
- Removed a bug in the conditional break points.
- Rewrote parts of the system segment.
- Added support for the CyberGuard. That's not yet tested, however!
- Added more '040 instructions I forgot.
- Fixed a bug in the disassembler.
- The previous fix of the "NODE" command broke it even more, fixed!
- Fixed plain MC68000 support that was broken since 1.56.
_____________________________________________________________________________
Changes made in 1.58:
-Added two '040 instructions I wasn't aware of.
-Rewrote the complete math support, an FPU is no longer required.
-Enhanced the "NODE" command, it displays now all additional information
it can hold of.
-Removed a stupid bug from the "NODE" command.
-Added the "LABS" command to view the defined labels. Study the doc file for
details.
_____________________________________________________________________________
Changes made in 1.57:
-Added PAL/NTSC switch.
-Added a check for many command that won't work in a splitted display.
_____________________________________________________________________________
Changes made in 1.56:
-Removed a bug in the printer hardware driver that caused one additional
character to be printed.
-Added command to eject paper.
-Added Enforcer support for the MC68020 and MC68030 CPUs.
-Added partial MMU support, however no MMU related commands are available.
Enforcer must be run for this purpose.
-Added IRQ CopyBack mode.
-Fixed several final bugs in the 1.55 release, esp. some MC68060 related,
although the support isn't complete yet ('60 FPU support is still somewhat
broken, as the FPU part must be re-written anyways).
Thomas,
November 1998